今天要安裝的是一套Grafana LAB出產、針對Logging的解決方案Grafana Loki,是一個主打著lightweight的解決方案(比較對象常常是ELK/EFK)。
簡單補充一下官方 loki 架構
其中agent的選擇有
這邊一樣使用Helm安裝
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
這邊要安裝的是loki-stack
loki-stack 是使用dependency chart的方式,所以可以選擇的agent很多種
這邊選擇的angent是預設的promtail,一併安裝grafana&prometheus
helm install homelab-loki grafana/loki-stack --version 2.4.1 \
--set grafana.enabled=true \
--set prometheus.enabled=true \
--set prometheus.alertmanager.persistentVolume.enabled=false \
--set prometheus.server.persistentVolume.enabled=false \
--set loki.persistence.enabled=true \
--set loki.persistence.storageClassName=nfs-client \
--set loki.persistence.size=30Gi \
--namespace loki
安裝的過程跳出不少1.22將棄用的API XD
安裝完後的長相
來看一下promtail的config,這邊的scrape_config的設定方式基本就跟prometheus的設定相同,kubernetes_sc_configs指定來源為kubernetes pod
貼在vs code上稍微折疊一下,可以看到一堆relabel的config
接著先取得garfana的admin密碼,並使用port-forward的方式導到本機
kubectl get secret --namespace loki homelab-loki-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
kubectl port-forward svc/homelab-loki-grafana 8080:80 -n loki
左邊explore的按鈕點一下,左上的下拉選擇為loki。可以看到這邊與kibana性質非常相像,這邊的查詢則是基於LogQL的語法
點開Log browser 也有輔助label可以協助search
點開help則是有些Cheat Sheet可供參考
也有query history,能夠再次執行過去的query
當然也可以從DashBoard import個quick search dashboard做簡易快速查詢
如果你想把syslog收進loki當然也可以辦到的喔,透過job scrap config去蒐集/var/log/*log
之類的,可以在官網上看到相關的設定指引喔。不過在ElasticSearch已經成熟使用的公司上這邊其實可以看看就好了~